1
Anatomia della Lista Collegata
AI019Lesson 4
00:00

A livello fondamentale, una lista collegata è una struttura dati ricorsiva definita dalla propria assenza o dalla sua composizione. Una lista è o vuota (rappresentata come []) oppure è composta da un Testa contenente un singolo valore e un Coda che è a sua volta una lista completa.

1. La Definizione Ricorsiva

Definendo la coda come "una lista stessa", consentiamo un incastro infinito. Questo è illustrato dalla costruzione di [ 1 | [ 2 | [ 3 | [ ] ] ] ], dove ogni operatore pipe (|) separa il valore immediato dalla struttura rimanente.

12[]TestaCoda (è una lista)

2. Primitivo vs. Astrazione

Le liste primitive nel VM Erlang (BEAM) sono strutture semplici. Comportamenti come List.flatten/1 sono astrazioni fornite dal modulo List di Elixir. La struttura dati grezza non "sa" come piattificarla da sola; è il modulo a fornire la logica per attraversare le teste e code annidate.

3. L'Analogo delle Bambole Russe

Pensa a una lista collegata come a un insieme di bambole russe. La bambola più esterna è la Testa. Quando la apri, trovi esattamente una cosa: un'altra bambola (la Coda). Solo quando apri l'ultima, più piccola bambola e non trovi nulla all'interno raggiungi lo stato Vuoto vuoto.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>